Image Forming Apparatus and Method of Controllling the Same

ABSTRACT

An image forming apparatus includes a printer unit to form an image and outputting the image on a sheet, a storage unit, a control unit to control hardware resources of the image forming apparatus including at least the printer unit and the storage unit by executing a first OS that is activated on the image forming apparatus and a control program operating on the first OS and that can execute second to N-th OSs that activate at least one application and an emulator disposed between the first OS and the second to N-th OSs to allow the second to N-th OSs to operate on the first OS, wherein the control unit can cause the first OS to enter into a sleep mode and inhibits the first OS from entering into the sleep mode when at least one of the second to N-th OSs is active.

BACKGROUND OF THE INVENTION

1. Field of the Invention

The present invention relates to an image forming apparatus thatincludes a printer unit that forms an image based on image data andoutputs the image on a sheet and a method of controlling the same.

2. Description of the Related Art

An image forming apparatus such as a printer, a facsimile, a copier, anda multi-function machine having these functions has a function offorming an image based on image data and outputting the image on asheet. The function is generally realized by firmware that operates onan operating system (OS) and controls hardware of the image formingapparatus.

Further, an apparatus that can operate a plurality of OSs is known as anapparatus that processes information (for example, see JapaneseUnexamined Patent Application Publication Nos. 2009-223695, 2010-191543,and 2011-192130).

Japanese Unexamined Patent Application Publication No. 009-223695proposes an apparatus that is connected to a plurality of externalapparatuses and executes processes according to a processing request andthat can select whether images will be processed by hardware or softwareaccording to the content of processing or the number of processes to beexecuted.

Japanese Unexamined Patent Application Publication No. 2010-191543proposes an emulator that includes a virtual OS1 that operatescontroller software and an OS2 that operates operating unit software andthat handles communication between the controller and the operating unitas communication between the OS1 and OS2.

Japanese Unexamined Patent Application Publication No. 2011-192130proposes an image forming apparatus that includes two OSs havingdifferent priorities and that has a plurality of OSs that allocatehardware resources according to an execution priority.

Further, Japanese Unexamined Patent Application Publication No.2011-060238 discloses an information processing apparatus such as adigital multi-function machine that has a power saving mode where only afirst OS is activated and that releases the memory of a second OS duringthe power saving mode so that power is not supplied to the memory blockof the second OS, and switches the activation of the second OS accordingto a wake-up factor from a network.

In the image forming apparatus, a technique of controlling the imageforming apparatus using a plurality of OSs is known (see JapaneseUnexamined Patent Application Publication Nos. 2010-191543, 2011-192130,and 2011-060238). Examples of the apparatus control include storage ofimage data in a HDD, management of heat fusing temperature, and controlof sensors that detect opening or closing of a tray or a door as well ascontrol of scanning and printing.

An image forming apparatus that receives document file data edited by anapplication of an external apparatus or the like so that the documentfiles can be output based on the data is known. However, document filesare stored as files of the format that is unique to the application orof a specific format, and print setting is performed using a driver thatoperates on the operating system of the external apparatus. Thus, whendocument data of the Word (trademark) format is printed, the applicationand a printer driver are required, and a job is input to the imageforming apparatus as output data by a printer driver included in theexternal apparatus.

However, in the related art, the of OS mounted on the image formingapparatus are provided for the purpose of controlling the apparatusonly, and an image forming apparatus that includes an OS that handlesoutput data (of the format Word, Excel (both are trademarks), and thelike) is not known. Thus, when a user tries to change the content ofinput data, since only data that has been rasterized (subjected toRaster Image Processing (RIP)) is present in the image formingapparatus, it is thus difficult to perform a process such as editingoutput data on the image forming apparatus. Therefore, the user has toperform the operation in front of a PC in which the original data (Word)is stored even if the operation involves a small change. Further, thereis another problem in that after a file is edited on the PC, the editeddata has to be transmitted to the image forming apparatus again, whichconsumes time and effort.

In addition, in a multi-OS environment of an image forming apparatus orthe like that mounts a plurality of OSs, a sleep process is turned onand off according to the conditions of the overall control of a firstoperating system. Although Japanese Unexamined Patent ApplicationPublication No. 2011-0238 discloses an information processing apparatushaving the power saving mode where only the first OS is activated, thereis no special mention of the sleep process in the overall control.

However, if the sleep process is performed according to the conditionsof the overall control of the first operating system, an engine mayenter into a sleep mode with the determination on the first OS even whenthe second and subsequent OSs are being used. Thus, there is a problemin that the time may be consumed to warm up the engine when startingprinting from the second OS, which may deteriorate operation efficiency.On the other hand, there is another problem in that power consumptionincreases due to activation of an unnecessary OS unless the sleepprocess is performed efficiently.

In addition, in a multi-OS environment of an image forming apparatus orthe like that mounts a plurality of OSs, allocation of hardwareresources is determined smoothly according to priority of an OS.However, when an OS (including applications such as PhotoShop(trademark; the same hereinbelow) that run on Windows (trademark; thesame hereinbelow)) intended for general users used in recent years isadapted to be used in an image forming apparatus, since just maintainingthe activation state thereof consumes many hardware resources, it isdifficult to perform a print process stably just by changing theallocation of hardware resources. Although Japanese Unexamined PatentApplication Publication No. 2011-060238 discloses an informationprocessing apparatus having a power saving mode where only the first OSis activated, the information processing apparatus enters into the powersaving mode if an event where a packet is not received, an event wherean engine unit does not operate, or an event where an operation is notreceived from an operating unit is detected and continues for apredetermined period or longer, whereas the information processingapparatus does not enter into the power saving mode if any one of theseoperations is present. Thus, in the apparatus of Japanese UnexaminedPatent Application Publication No. 2011-060238, it is difficult tosuppress consumption of hardware resources under the multi-OSenvironment and to secure a stable print process.

The invention has been made in view of the above problems, and an objectof the invention is to provide an image forming apparatus and a methodof controlling the same capable of activating second to N-th (N is aninteger of 2 or more) operating systems different from a first operatingsystem and reducing the warm-up time due to the sleep process under amulti-OS environment to improve processing efficiency.

Another object of the invention is to provide an image forming apparatusand a method of controlling the same capable of operating second to N-th(N is an integer of 2 or more) different from a first operating systemthat operates a control program for controlling the apparatus andallowing a stable print process using limited hardware resources.

SUMMARY OF THE INVENTION

To achieve at least one of the above-mentioned objects, according to anaspect of the invention, there is provided an image forming apparatusincluding:

a printer unit that forms an image based on image data and outputs theimage on a sheet;

a storage unit; and

a control unit to control hardware resources of the image formingapparatus including at least the printer unit and the storage unit byexecuting a first operating system that is activated on the imageforming apparatus and a control program operating on the first operatingsystem and that can execute second to N-th (N is an integer of 2 ormore) operating systems that activate at least one or more applicationsand an emulator that is disposed between the first operating system andthe second to N-th operating systems to allow the second to N-thoperating systems to operate on the first operating system, wherein

the control unit can cause the first operating system to enter into asleep mode and inhibits the first operating system from entering intothe sleep mode when at least one of the second to N-th operating systemsis active.

In the image forming apparatus, it is preferable that the second to N-thoperating systems can activate at least one or more applications thathandle data.

In the image forming apparatus, it is preferable that the control unitinhibits the first operating system from entering into the sleep modewhen any one of the second to N-th operating systems is active and atleast one or more of the applications is active.

In the image forming apparatus, it is preferable that the control unitinhibits the first operating system from entering into the sleep modewhen any one of the second to N-th operating systems is active and atleast one or more of the applications that are registered is active.

In the image forming apparatus, it is preferable that the control unitcauses an engine of the printer unit to enter into a sleep mode whilemaintaining the first operating system in the active state when any oneof the second to N-th operating systems is active and only anapplication other than the registered applications among theapplications is active.

In the image forming apparatus, it is preferable that the control unitenables the first operating system to enter into the sleep mode when anyone of the second to N-th operating systems is active and theapplications are not active.

In the image forming apparatus, it is preferable that the apparatusfurther includes an operating unit that accepts an input operation, andthe control unit enables the applications to be set and registeredthrough the operating unit.

In the image forming apparatus, it is preferable that the control unitcauses an engine of the printer unit to enter into a sleep mode when thefirst operating system enters into the sleep mode.

In the image forming apparatus, it is preferable that the control unitcan cause the second to N-th operating systems to enter into a sleepmode.

In the image forming apparatus, it is preferable that the control unithas a power saving mode in which an engine of the printer unit entersinto a sleep mode without causing the first operating system to enterinto the sleep mode.

In the image forming apparatus, it is preferable that the controlprogram allows or inhibits entering into the sleep mode.

In the image forming apparatus, it is preferable that the control unitcauses the first operating system to enter into the sleep mode whenpredetermined conditions are satisfied and any one of the second to N-thoperating systems is not operating.

In the image forming apparatus, it is preferable that the predeterminedconditions are a case where no operation has been performed on the imageforming apparatus for a predetermined period in an idle state of no job.

In the image forming apparatus, it is preferable that at least one ofthe second to N-th operating systems can directly access at least aportion of the hardware resources and can access, via the firstoperating system, the hardware resources including hardware resourcesthat the second to N-th operating systems can not directly access.

In the image forming apparatus, it is preferable that the control unitrealizes the outputting of the printer unit by executing a printerdriver that operates on at least one of the second to N-th operatingsystems to control the printer unit.

In the image forming apparatus, it is preferable that when data handledby the second to N-th operating systems is output in the image formingapparatus controlled by the first operating system, the data is input,as a job, to the image forming apparatus that is controlled by the firstoperating system through the printer driver.

In the image forming apparatus, it is preferable that the printer driveris be intended to be provided for used in a personal computer.

To achieve at least one of the above-mentioned objects, according toanother aspect of the invention, there is provided a method ofcontrolling an image forming apparatus including: a printer unit thatforms an image based on image data and outputs the image on a sheet; anda storage unit.

the method controlling hardware resources of the image forming apparatusincluding at least the printer unit and the storage unit by executing afirst operating system that is activated on the image forming apparatusand a control program operating on the first operating system, themethod including the steps of:

executing second to N-th (N is an integer of 2 or more) operatingsystems that activate at least one or more applications and an emulatorthat is disposed between the first operating system and the second toN-th operating systems to allow the second to N-th operating systems tooperate on the first operating system; and

causing the first operating system to enter into a sleep mode, wherein

the first operating system is inhibited from entering into the sleepmode when at least one of the second to N-th operating systems isactive.

In the method of controlling the image forming apparatus, it ispreferable that the second to N-th operating systems can activate atleast one or more applications that handle data.

In the method of controlling the image forming apparatus, it ispreferable that the first operating system is inhibited from enteringinto the sleep mode when any one of the second to N-th operating systemsis active and at least one or more of the applications is active.

In the method of controlling the image forming apparatus, it ispreferable that the first operating system is inhibited from enteringinto the sleep mode when any one of the second to N-th operating systemsis active and at least one or more of the applications that areregistered is active.

In the method of controlling the image forming apparatus, it ispreferable that an engine of the printer unit is caused to enter into asleep mode while maintaining the first operating system in the activestate when any one of the second to N-th operating systems is active andonly an application other than the registered applications among theapplications is active.

In the method of controlling the image forming apparatus, it ispreferable that the first operating system is caused to enter into thesleep mode when any one of the second to N-th operating systems isactive and the applications are not active.

In the method of controlling the image forming apparatus, it ispreferable that the image forming apparatus includes an operating unitthat accepts an input operation, and the applications are be set andregistered through the operating unit.

In the method of controlling the image forming apparatus, it ispreferable that an engine of the printer unit is caused to enter into asleep mode when the first operating system enters into the sleep mode.

In the method of controlling the image forming apparatus, it ispreferable that the second to N-th operating systems can enter into asleep mode.

In the method of controlling the image forming apparatus, it ispreferable that the image forming apparatus can enter a power savingmode in which an engine of the printer unit enters into a sleep modewithout causing the first operating system to enter into the sleep mode.

In the method of controlling the image forming apparatus, it ispreferable that the control program allows or inhibits entering into thesleep mode.

In the method of controlling the image forming apparatus, it ispreferable that the first operating system is caused to enter into thesleep mode when predetermined conditions are satisfied and any one ofthe second to N-th operating systems is not operating.

In the method of controlling the image forming apparatus, it ispreferable that the predetermined conditions are a case where nooperation has been performed on the image forming apparatus for apredetermined period in an idle state of no job.

In the method of controlling the image forming apparatus, it ispreferable that at least one of the second to N-th operating systems candirectly access at least a portion of the hardware resources and canaccess, via the first operating system, the hardware resources includinghardware resources that the second to N-th operating systems can notdirectly access.

In the method of controlling the image forming apparatus, it ispreferable that the outputting of the printer unit is realized byexecuting a printer driver that operates on at least one of the secondto N-th operating systems to control the printer unit.

In the method of controlling the image forming apparatus, it ispreferable that when data handled by the second to N-th operatingsystems is output to the image forming apparatus controlled by the firstoperating system, the data is input, as a job, to the image formingapparatus that is controlled by the first operating system through theprinter driver.

In the method of controlling the image forming apparatus, it ispreferable that the printer driver is intended to be provided for usedin a personal computer.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a diagram illustrating an outline of a software configurationand hardware resources of an image forming apparatus according to anembodiment of the invention;

FIG. 2 is a diagram illustrating an outline of the softwareconfiguration including application software and the hardware resources;

FIG. 3 is a diagram illustrating a software configuration and a networkconfiguration illustrating an operation screen server;

FIG. 4 is a control block diagram;

FIG. 5 is a flowchart illustrating the procedure of overall controlduring power-ON;

FIG. 6 is a diagram illustrating a main menu screen;

FIG. 7 is a flowchart illustrating the procedure of a print process;

FIG. 8 is a flowchart illustrating the procedure of other OS fileprocess;

FIG. 9 is a diagram illustrating a file list display screen;

FIG. 10 is a flowchart illustrating the procedure of a saving jogprocess;

FIG. 11 is a diagram illustrating a saved job list screen;

FIG. 12 is a diagram illustrating a print condition setting screen;

FIG. 13 is a flowchart illustrating the procedure of a reprint process;

FIG. 14 is a flowchart illustrating the procedure of a print jobreceiving process;

FIG. 15 is a flowchart illustrating the procedure of a content editingprocess;

FIG. 16 is a diagram illustrating other OS screen;

FIG. 17 is a flowchart illustrating the process procedure on other OSscreen;

FIG. 18 is a flowchart illustrating the procedure of displaying other OSscreen;

FIG. 19 is a flowchart illustrating the procedure of sleep control;

FIG. 20 is a flowchart illustrating the procedure of another example ofsleep control;

FIG. 21 is a flowchart illustrating the procedure of further anotherexample of sleep control;

FIG. 22 is a flowchart illustrating the procedure of other OS sleepcontrol during activation;

FIG. 23 is a flowchart illustrating the procedure of setting OSpriority;

FIG. 24 is a flowchart illustrating the procedure of a RIP process andthe procedure of other OS sleep control during the RIP process;

FIG. 25 is a flowchart illustrating the procedure of other OS startallowance/inhibition determination; and

FIG. 26 is a diagram illustrating an outline of a software configurationand hardware resources of a conventional image forming apparatus.

DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

Hereinafter, an image forming apparatus according to an embodiment ofthe invention will be described based on the accompanying drawings.

As illustrated in FIG. 26, a conventional image forming apparatus has aconfiguration in which an OS (for example, Linux (trademark; the samehereinbelow) that activates apparatus control firmware is mounted onhardware, and the apparatus control firmware is activated on the OS,whereby the apparatus is controlled. Examples of the apparatus controlinclude storage of image data in a HDD, management of heat fusingtemperature, and control of sensors that detect opening or closing of atray or a door as well as control of scanning and printing.

FIG. 1 is a diagram illustrating an outline of software configurationand hardware resources of an image forming apparatus according to thepresent embodiment.

In this drawing, an apparatus control firmware (hereinafter referred toas an apparatus control FW) corresponding to a control program of theinvention and an emulator operate on a first operating system(hereinafter referred to as a first OS). The first OS is ageneral-purpose OS that operates the apparatus control FW and theemulator and is configured as Linux, Windows (trademark; the samehereinbelow), or the like. The apparatus control FW is software thatoperates the image forming apparatus. A second operating system(hereinafter referred to as a second OS) operates on the emulator assecond to N-th (N is an is an integer of 2 or more) operating systemsthat operate on the first OS. The emulator is software that emulateshardware to provide the hardware to the second OS. The second OS is anOS that operates an image data editing application or the like and isconfigured as Linux, Windows, MacOS (trademark; the same hereinbelow),or the like.

A VNC server that corresponds to an operation screen server is providedon the emulator. The VNC server is software that allows the screen ofthe second OS to be operated at a remote site.

Further, the image forming apparatus includes a controller that can beexecuted from the apparatus control FW and the second OS. The controlleris a component on which an interpreter that executes a PostScript(trademark; the same hereinbelow) operates or the like. The controllermay be configured as any one of software and hardware and may beconfigured as a combination of both.

The apparatus control FW controls an operating unit 140 and the likeincluded in the image forming apparatus. The operating unit 140 displaysvarious pieces of information and accepts an input operation. Theoperating unit 140 displays a screen transmitted from the apparatuscontrol FW and a screen transmitted from the second OS and acceptsoperations on these screens.

Next, the software configuration and the hardware resources will bedescribed in further detail based on FIG. 2. In the embodimentillustrated in FIG. 2, Linux (trademark; the same hereinbelow) operatesas the first operating system (hereinafter referred to as a first OS),and the apparatus control FW and emulators Emulator1 and Emulator2operate on the first OS. Windows corresponding to the second operatingsystem (hereinafter referred to as a second OS) of the invention operateon the Emulator1 and Linux corresponding to a third operating system(hereinafter referred to as a third OS) of the invention operate on theEmulator2 respectively. For example, Qemu (trademark; the samehereinbelow) or the like can be used as the emulator, but the emulatoris not particularly limited in the invention.

In the present embodiment, although the second and third operatingsystems are illustrated as the second to N-th operating systems thatoperate on the first operating system, the number of operating systemsas the second to N-th operating systems is not particularly limited inthe invention. Only the second operating system may operate and fourthand subsequent operating system may operate.

Word (trademark; the same hereinbelow), Excel (trademark; the samehereinbelow), and a printer driver (PrinterDriver) prepared for Windowsoperate on the second OS as applications of the invention.

emacs (trademark; the same hereinbelow) which is an editor used forLinux and a printer driver (PrinterDriver) prepared for Linux operate onthe third OS as applications of the invention.

The printer drivers may be those that are generally prepared as thosemounted on a PC. In the present embodiment, although it is not necessaryto use a printer driver that is prepared exclusively for the imageforming apparatus, a printer driver prepared for exclusive use may alsobe used. Although not illustrated in FIG. 2, the image forming apparatusalso includes the aforementioned controller.

The first, second, and third OSs are provided in the image formingapparatus and can control hardware resources (hereinafter referred toH/W) of the invention. The H/W includes a scanner, a drum, a fuser, afeed tray, various sensors, a HDD, and an externally attached medium(for example, a USB memory) which have important function in the imageforming apparatus as well as the operating unit 140. These H/W resourcescan be directly accessed by the first OS. On the other hand, the secondOS and the third OS are OSs that are operated by a general PC and do notdirectly access hardware that is unique to the image forming apparatus.However, the second OS and the third OS can directly access H/W such asa HDD and a USB memory that is also used in general PCs.

The HDD can store the apparatus control FW, the first OS, the second OS,the third OS, applications, printer drivers, data, rasterized data forimage formation, data handled by applications, and the like. In thiscase, the HDD can control areas that are read and written byapplications by partitioning the areas for the apparatus control FW, thesecond OS application, and the third OS application, for example.

When output data (for example, Word document data) is present in anexternal PC on a network, the data itself may be copied to a sharedfolder of Windows (the second OS) in the image forming apparatus. Thestorage destination can be designated by setting individual IP addressesto the apparatus control FW, the second OS, and the third OS usingbridge connection. When original data is saved in the HDD area managedby the second OS and needs to be changed before the data is output, thedata can be edited just by activating an application (Word) on thesecond OS. When the data is to be saved, the data may be saved in theHDD area managed by the second OS as in the general PC. Moreover, thedata can be edited while displaying the content by switching the screensof the apparatus control FW, the second OS, and the third OS on theoperating unit 140.

In the present embodiment, since the second and third OSs are OSs usedin the general PC, the data processed by the applications used in theseOSs can naturally be used on the second and third OSs. Excel, emacs (aneditor used in Linux), or the like as well as the Word can be activated,and when data is saved in the apparatus from the external PC, the datacan be edited on the apparatus. In this manner, original data can beedited on the image forming apparatus, and the user-friendliness isimproved.

As illustrated in FIG. 3, VNC servers (trademark; the same hereinbelow)10, 11, and 12 corresponding to respective OSs are provided to the firstOS, the Emulator1 and the Emulator2. The VNC servers 10 and 11 providesscreen data of the second and third OSs to VNC clients 20 to 22, and theVNC server 12 provides screen data of a VRAM 113 to VNC clients 20 and21 of PCs 3 and 4. The VNC clients have a function of acquiring screendata from VNC servers, transferring the screen data to operator controlunits of their own apparatuses (the image forming apparatus 1 and thePCs 3 and 4) to display the screens, and accepting operations on thescreens to deliver the operations to the VNC servers. Moreover, the VNCservers accept operation information from the connected VNC clients anddeliver the operation information to their corresponding OSs. In thismanner, operations on the respective OSs can be performed from theoperating unit of the image forming apparatus 1 and the PCs. The VNCserver corresponds to an operation screen server, and the VNC clientcorresponds to an operation screen client. Moreover, the VNC server 12of the first OS may be configured as hardware.

The VNC client 22 operated by the first OS of the image formingapparatus 1 can connect to the VNC servers 10 and 11 of the respectiveOSs, and the VNC clients 20 and 21 included in the PCs 3 and 4 outsidethe image forming apparatus 1 can connect to the VNC servers 10, 11, and12 of the respective OSs via a network interface card (NIC) 122. The VNCservers 10 and 11 correspond to a first operation screen server, and theVNC server 12 corresponds to a second operation screen server.

An operator control unit 142 (FIG. 4) selects or combines a screen imagegenerated by the apparatus control FW and a screen image acquired fromthe VNC server 10 or 11 by the VNC client 22 and renders the screenimages into the VRAM 113 using a graphic driver. A screen is displayedon the operating unit 140 based on the rendering data of the VRAM 113.Moreover, as for the operations performed on the screen, an operation onthe screen generated by the apparatus control FW is accepted by theapparatus control FW, and an operation on the screen acquired from theVNC server 10 or 11 is input to the connected VNC server 10 or 11through the VNC client 22. The control unit of the image formingapparatus 1 controls the operation of the image forming apparatus 1according to the content of the operation accepted by the apparatuscontrol FW. The operation input to the VNC server 10 or 11 is input tothe corresponding OS (the second or third OS), and the OS operatesaccording to the operation content. When the VNC server is accessed byany one of the VNC clients, access from the other VNC clients isrestricted. A notification that access to the VNC server is restrictedmay be sent to the other VNC clients.

FIG. 4 is a diagram illustrating a control block of the image formingapparatus 1 according to the present embodiment.

The image forming apparatus 1 includes, as a main component, an overallcontrol unit 100, a scanner unit 130, an operating unit 140, and aprinter unit 150. Moreover, in the present embodiment, an FNS 160 whichis a post-processing apparatus is connected to an image formingapparatus main body as part of the image forming apparatus 1. In theinvention, the presence of the post-processing apparatus is notparticularly limited.

The image forming apparatus 1 is connected to the PCs 3 and 4 which areexternal apparatuses via a LAN 2 which is a network. The type and thenumber of apparatuses connected to the image forming apparatus 1 are notparticularly limited. The image forming apparatus 1, the LAN 2, and thePCs 3 and 4 form part or an entire part of an image forming system. ThePCs 3 and 4 have operating units 30 and 40 that display a screen andaccept an operation, and a screen can be displayed and operated on theoperating units 30 and 40 via the VNC clients 20 and 21.

The overall control unit 100 includes a control CPU 110 that correspondsto a processor, and a DRAM control IC 111 is connected to the controlCPU 110.

A RAM 112 and a VRAM 113 are connected to the control CPU 110.

The control CPU 110 controls the entire image forming apparatus 1 byexecuting software such as the apparatus control FW to understand theentire state of the image forming apparatus 1.

The scanner unit 130 includes a CCD 131 that optically reads an image toobtain image information and a scanner control unit 132 that controlsthe entire scanner unit 130. The scanner control unit 132 is connectedto the control CPU 110 and is controlled by the control CPU 110. Thescanner control unit 132 can be configured as a CPU, a program thatoperates the CPU, and or the like. The image information read by the CCD131 is processed by a read processor 116. The read processor 116 isconnected to the DRAM control IC 111, and image data processed by theread processor 116 is transmitted to the DRAM control IC 111.

The RAM 112 is used for executing programs such as the apparatus controlFW, the first, second, and third OSs, an application program, and aprinter driver loaded therein, and is used as a work area accompanied bythe execution. Further, areas for storing screen data of the second andthird OSs are allocated to the RAM 112, and the screen data of thesecond and third OSs in the areas is provided to the VNC clients by theVNC servers 10 and 11.

The operating unit 140 includes a touch panel LCD 141 and the operatorcontrol unit 142, and the LCD 141 and the operator control unit 142 areconnected, and the operator control unit 142 and the control CPU 110 areconnected so that serial communication can be performed. With thisconfiguration, the control of the operating unit 140 is performed by thecontrol CPU 110, the screen image rendered into the VRAM 113 isdisplayed on the LCD 141, and the input information of the operatingunit 140 is transmitted to the control CPU 110. The operator controlunit 142 can be configured as a CPU, a program that operates the CPU, orthe like. The operating unit 140 includes a display switching unit 143.The display switching unit 143 selectively renders the screen generatedby the apparatus control FW and the screens of the second and third OSsacquired by the VNC client in a storage area of the VRAM 113corresponding to a predetermined region (a region 1482 of FIG. 16) ofthe screen displayed on the operating unit 140, whereby these screenscan be switchably displayed. Moreover an operation within the screenregion 1482 of the LCD 41 is transferred to the VNC server via the VNCclient. In this manner, it is possible to perform operations on thesecond and third OSs.

Hereinafter, how the screens of the second and third OSs are displayedon the operating unit 140 of the image forming apparatus 1 will bedescribed.

When a request to switch to the screen of the second or third OS isissued (for example, by a user operation), the apparatus control FWacquires screen data of OS from the VNC server corresponding to thedesignated OS via the VNC client 22. The apparatus control FW generatesa display screen with the aid of the operator control unit 142 andwrites the display screen data to the VRAM 113 with the aid of thegraphic driver. The entire display screen may be used as the OS screen,and the OS screen may be fitted in a predetermined region of the screen.In the present embodiment, as illustrated in FIG. 16, the OS screen isfitted in the predetermined region 1482 of the screen. In this manner,the OS screen is displayed on the operating unit 140.

In the screen illustrated in FIG. 16, an operation on a region outsidethe region 1482 is transferred to the apparatus control FW, and theapparatus control FW executes an operation according to the operation(for example, an operation on an “End” button of FIG. 16). On the otherhand, an operation inside the region 1482 is transferred to the VNCserver via the VNC client and is input to the corresponding OS. In thismanner, the operation on the second and third OSs can be performed.

In the present embodiment, the reason why the entire screen is not usedas the OS screen but is fitted into a predetermined region is because ifthe entire screen is used as the OS screen, all operations on the screenis transferred to the VNC server and is not accepted by the apparatuscontrol FW. Thus, in order to close the OS screen to return to thescreen of the apparatus control FW or to switch to the other OS screen,means for accepting an operation using means such as an additional hardkey other than a screen operation is required, which may increase thecost.

The DRAM control IC 111 is connected to an image memory 114. The imageinformation acquired by the scanner unit 130, the image information,print conditions, and file information acquired through the LAN 2, andthe like are stored in the image memory 114. The image memory 114 is astorage area of the image information, the print conditions, and thefile information and stores information on print jobs.

Moreover, an HDD 115 is connected to the DRAM control IC 111. Asdescribed above, areas for storing the first, second, and third OSs, anapplication, and document file data created by the application, aprinter driver, image information, print information, and the like areallocated to the HDD 115 according to the first, second, and third OSs.The areas of the HDD 115 may be partitioned to be used for the first,second, and third OSs. The RAM 112, the VRAM 113, the image memory 114,and the HDD 115 form a storage unit.

Further, a write processor 117 is connected to the DRAM control IC 111.The write processor 117 is connected to an LD 151 of the printer unit150 and processes data used for operations of the LD 151. Moreover, theprinter unit 150 includes a printer control unit 152 that controls theentire printer unit 150, and the printer control unit 152 is connectedto and controlled by the control CPU 110. Moreover, an FNS control unit161 that controls the entire FNS 160 is connected to the printer controlunit 152. In this manner, the FNS 160 can be controlled by the controlCPU 110 with the aid of the printer control unit 152.

Further, a communication control unit 121 that controls an entirecommunication unit 120 that communicates with the external apparatus isconnected to the control CPU 110, and the control CPU 110 can connect tothe LAN 2 via the NIC 122 included in the communication unit 120. Thecommunication control unit 121 operates according to an operationcommand of the control CPU 110, transmits data transferred from thecontrol CPU 110 according to a predetermined communication protocol tothe LAN 2 through the NIC 122, receives data transmitted from the LAN 2,and transmits the received data to the control CPU 110. Thus, operationscreen information of the VNC servers 10, 11, and 12 is transmitted tothe VNC clients 20 and 21 of the PCs 3 and 4 through the NIC 122 and theLAN 2, and input operation information on the operations performed onthe operation screens by the PCs 3 and 4 is transmitted to the controlCPU 110 through the LAN 2 and the NIC 122.

The control CPU 110 is a component on which software such as the first,second, and third OSs and the apparatus control FW operates, and thecontrol CPU 110 forms a control unit of the invention together with thescanner control unit 132, the operator control unit 142, the displayswitching unit 143, the printer control unit 152, and the communicationcontrol unit 121.

Next, a basic operation of the image forming apparatus 1 will bedescribed.

First, a procedure of storing image information in the image formingapparatus 1 will be described.

First, in the image forming apparatus 1, when the scanner unit 130 readsa document image to generate image information, the scanner unit 130optically reads the document image from a document with the aid of theCCD 131. In this case, the operation of the CCD 131 is controlled by thescanner control unit 132 that receives a command from the control CPU110.

The image read by the CCD 131 is processed by the read processor 116,and the processed image information is stored in the image memory 114 orthe HDD 115 via the DRAM control IC 111. The image information and theprint information stored in the image memory 114 or the HDD 115 can bemanaged by the control CPU 110 as a job.

When image information is acquired externally, job informationtransmitted from the PCs 3 and 4 or the like through the LAN 2, forexample, is stored in the image memory 114 or the HDD 115 by the DRAMcontrol IC 111 via the NIC 122 and the control CPU 110.

Moreover, when image information is generated by an application in theimage forming apparatus 1, image information obtained through theprinter driver, the emulator, and the apparatus control FW is stored inthe image memory 114 or the HDD 115 in a manner similarly to the above.In this case, print data transmitted from the printer driver is acceptedas a job of the image forming apparatus, and the job can be stored orexecuted.

When the image information acquired externally or acquired by anapplication that operates in the image forming apparatus 1 is vectordata, the data is rasterized (subjected to RIP process; Raster ImageProcessing) by a controller at an appropriate time.

When an image is output by the image forming apparatus 1, that is, whenthe image forming apparatus 1 is used as a copier or a printer, jobinformation including the image information stored in the image memory114 or the HDD 115 is transmitted to the write processor 117 via theDRAM control IC 111 as data, and write data is transmitted from thewrite processor 117 to the printer unit 150.

In the printer unit 150, after the surface of a photoconductor isuniformly charged by a charging unit (not illustrated), exposurescanning is performed based on the write data using a laser beam of theLD 151 to form a latent image, and the latent image is subjected toreversal development by a developing unit to form a toner image on thesurface of the photoconductor. A sheet feed from a feed tray is conveyedto a transfer position by a conveying device, and the toner image istransferred to the sheet by a transfer unit at the transfer position.After that, the sheet having an image formed thereon is heat-fused by afuser and is conveyed to the FNS 160. The FNS 160 to which the sheethaving an image formed thereon is conveyed includes a punching unit thatforms holes in a sheet, a stapler that puts staples into a sheet, andthe like and performs post-processing on the sheet as necessary.

When the data of the external PCs 3 and 4 is output, the data can beoutput by transmitting the data to the apparatus control FW using aprinter driver mounted in the PC.

When the data present in the second and third OSs is output, since thesecond and third OSs are OSs that are used in general PCs, the data canbe output to an apparatus control FW of a main apparatus by designatingan output destination printer as the main apparatus using the sameprinter driver as mounted on the external PC. That is, the data can beoutput without the need to create a dedicated printer driver. In thiscase, the output data is accepted by the apparatus control FW as a job,and the output process can be performed.

In this manner, it is possible to perform the processes up to theoutputting on the image forming apparatus 1 without requiring adedicated printer driver. However, in the present embodiment, adedicated printer driver may be prepared, and the type of the printerdriver is not limited to a general-purpose and a dedicated-purpose.

In addition, the H/W unique to the image forming apparatus may not becontrolled by the second and third OSs used in general PCs (for example,management of heat-fusing temperature). However, since the second andthird OSs are operating on the first OS that activates the apparatuscontrol FW that controls the apparatus, the H/W can be controlled viathe apparatus control FW. If commands are defined by the applicationsthat are activated on the second and third OSs and the apparatus controlFW, when the application transmits a command to “set fusing temperatureto xx degrees” to the apparatus control FW, and the apparatus control FWhaving received the command analyzes the command to control the H/W, themain apparatus can be controlled on the second and third OSs via theapparatus control FW. In this manner, the main apparatus can becontrolled from the second and third OSs. That is, when the apparatuscontrol FW has a command receiving function and the second to N-th OSshave a command transmitting function, commands can be issued betweenother OSs and can be executed.

When an image is output, the control CPU 110 outputs the image based onjob information. The job information includes output conditioninformation as well as the image information. The output conditionsinclude a print mode, sheet information, a feed tray, a dischargedestination, post-processing conditions. Specific examples thereofinclude a pixel count of an output image, selection of color andmonochrome, selection of single-side or double-side, tone adjustment, asheet size, a sheet orientation, a sheet type (paper type, weight, sheetcolor, and the like), a selection of feed tray, presence ofpost-processing, post-processing conditions. The output conditionscorrespond to print conditions.

Typical settings are determined in advance as the initial settings ofthe output conditions. Moreover, the output conditions can be set on theoperating unit 140. When image information is acquired, the operatorcontrol unit 142 is controlled by the control CPU 110, and a screen onwhich output settings can be input is displayed on the LCD 141.

When an operator performs an appropriate input operation, informationsuch as output conditions (print mode, feed tray, discharge destination,post-processing conditions, and the like) set on the operating unit 140are sent from the operator control unit 142 to the control CPU 110. Thecontrol CPU 110 having received the information creates output conditioninformation and temporarily stores the information in a memory includedin the control CPU 110. When image information is acquired, the outputcondition information is stored with the image information in the imagememory 114 or the HDD 115 as job information.

Further, when data is output via the printer drivers of the second andthird OSs, the data can be handled as a job of which the outputconditions are set via the printer driver, and as for this job, theoutput conditions thereof can be further set on the apparatus controlFW.

Next, the procedure of the overall control in the control CPU 110 of thepresent embodiment will be described based on the flowchart of FIG. 5.The following procedure is executed as part of the overall control ofthe apparatus control FW that operates on the first OS.

The first OS, the apparatus control FW, the Emulator1, and the Emulator2are activated based on power-ON of the image forming apparatus 1, and aninitialization process is performed (step s101). Subsequently, the otherOS (in the present embodiment, the second and third OSs) is activated,and sleep control during activation is performed (step s102).Hereinafter, the second and third OSs will be expressed as they are orthe other OS.

In the sleep control during activation, a memory state in an activestate of an OS that is put into a sleep mode is saved in the HDD 115,and the memory is released (hereinafter, this state will be referred toas a sleep state). When the sleeping OS is woke up, the memory statesaved in the HDD 115 is copied to the memory and thus the OS enters intoan available state (this waking-up operation is also referred to as“activation” in the following description).

Subsequently, a main menu screen on which an operation can be input isdisplayed on the operating unit 140 (step s103; Procedure 1). In thiscase, when there is a request to the VNC server 12 from the VNC clients20 and 21 of the PCs 3 and 4, operation screen information is sent tothe VNC clients 20 and 21, and a main menu screen is similarly displayedon the operating units 30 and 40 of the PCs 3 and 4. In this case, theoperation screen corresponds to a first operation screen.

As illustrated in FIG. 6, a copy button 1410, an other OS file processbutton 1411, a saved job process button 1412, and an other OS screenbutton 1413 are displayed on a main menu screen 1400 so that the buttonscan be pressed to select one of a copy process, an other OS fileprocess, a saved job process, and an other OS screen display process.

When a user presses and selects any one of the buttons on the main menu1400, the selected process is executed (step s104).

When the copy button 1410 is pressed, a print condition setting screencontaining default print conditions is displayed so that an operationcan be input (step s105). The default print conditions are stored in astorage unit such as the HDD 115 or a flash memory (not illustrated),and the conditions can be read. Moreover, when the other OS file processbutton 1411 is pressed, an other OS file process procedure (step s110)is executed. When the saved job process button 1412 is pressed, a savedjob process (step s111) is executed. When the other OS screen button1413 is pressed, an other OS screen process (step s112) is executed.After the respective processes are executed, the flow returns toProcedure 1.

After the default print condition setting screen is displayed (steps105), the input settings of the print conditions are accepted (steps106). In the print condition setting, job saving setting is allowed. Inthe job saving, print conditions and image data are saved in correlationif there is no other OS information, and the print condition, the imagedata, and file information are saved in correlation if there is other OSinformation. Due to the job saving, the job can be repeatedly printed.

Subsequently, standby is performed until a print start operation isreceived (step s1107). When a user inputs a print start operation (Y instep s107), the scanner unit 130 scans a document to generate image data(step s108), and a print process is executed (step s109). After theprint process is performed, the flow returns to Procedure 1.

Subsequently, the procedure of the print process which is part of theoverall control of the apparatus control FW will be described based onthe flowchart of FIG. 7.

First, a print process is performed (step s201), and after that, it isdetermined whether job saving setting is present in the print conditionsetting (step s202). If there is no job saving setting (N in step s202),the flow returns from the process. When there is job saving setting (Yin step s202), it is determined whether other OS file information ispresent in the job (step s203). If the other OS file information ispresent (Y in step s203), print conditions, image data, file information(a file name, a time stamp, a file size, or the like of a document file)are saved in the image memory 114, the HDD 115, or the like incorrelation (step s204), and the flow returns from the process.

If the other OS file information is not present (N in step s203), printconditions and image data are saved in the image memory 114, the HDD115, or the like in correlation (step s205), and the flow returns fromthe process.

Next, the procedure of the other OS file process which is part of theoverall control of the apparatus control FW will be described based onthe flowchart of FIG. 8.

First, file information is acquired from an other OS area allocated tothe HDD 115 (step s301). In this example, although a list of other OSfiles only is displayed, data managed by the apparatus control FW anddata managed by the other OS may be acquired together and may bedisplayed as a list.

A selection of a file by the user from a file list displayed based onthe file information is accepted (step s302).

The file list display screen 1450 is illustrated in FIG. 9. The filelist display screen 1450 is displayed on the operating unit 140.Moreover, when there is access to the VNC server 12 from the VNC clients20 and 21 of the PCs 3 and 4, the operation screen information is sentfrom the VNC server 12 to the VNC clients 20 and 21 and is displayed onthe operating units 30 and 40 of the PCs 3 and 4 so that operations canbe input on the operation screen. The operation screen corresponds to afirst operation screen.

As illustrated in FIG. 9, on the file list display screen 1450, a filename with an extension and an updated date are displayed as a list in alist field 1451, and the user can press and select a row on which adesired file in the list is displayed. Moreover, on the file listdisplay screen 1450, a print button 1452 and an edit content button 1453are displayed to the right side of the list field 1451 so that thebuttons can be pressed. On the file list display screen 1450, a targetOS of a file can be understood from the extension thereof.

When the selection of the user is accepted, it is determined whether theprint button 1452 is pressed (step s303). When the print button 1452 ispressed in a state where any one file is selected (Y in step s303), ajob correlated with the selected file is retrieved from the saved jobsusing a file name (step s304), and it is determined whether thecorrelated job is present (step s305). If a saved job that is outputbased on a previously selected file is generated, the correlated savedjob is present. Even when the job is output based on the selected file,if setting of the saved job is not made, the correlated job is notsaved.

When it is determined that the correlated job is present (Y in steps305), a list of files that match the job correlated with the selectedfile is displayed, and a selection of the user whether new printing orreprinting will be performed is accepted (step s306). This screen isdisplayed on the operating unit 140. Moreover, when there is access tothe VNC server 12 from the VNC clients 20 and 21 of the PCs 3 and 4, theVNC server 12 sends operation screen information to the VNC clients 20and 21, and the list is displayed on the operating units 30 and 40 ofthe PCs 3 and 4 so that operations can be performed on the screen. Thisoperation screen corresponds to the first operation screen.

According to the accepted user's selection, it is determined whether newprinting or reprinting is selected (step s307).

If new printing is selected (step s307: New), a default print conditionsetting screen is displayed on the operating unit 140 (step s308). Inthis case, when there is access to the VNC server 12 from the VNCclients 20 and 21 of the PCs 3 and 4, the VNC server 12 sends operationscreen information to the VNC clients 20 and 21, and the default printcondition setting screen is displayed on the operating units 30 and 40of the PCs 3 and 4 so that operations can be performed on the screen.This operation screen corresponds to the first operation screen.

On the other hand, when it is determined that reprinting is selected(step s307: Reprint), the reprint process is performed (step s314) andthen the flow returns from the process.

When it is determined that there is no correlated job (N in step s305),the default print condition setting screen is displayed in a mannersimilarly to the above (step s308).

After the default print condition setting screen is displayed (step308), the input setting of print conditions is accepted (step s309). Inprint condition setting, various print settings and the necessity tosave jobs can be set. After the input setting of print conditions isaccepted (step s309), standby is performed until a print start operationis received (step s310). When there is a print start operation (Y instep s310), the print conditions and the file information aretemporarily stored in the image memory 114, the HDD 115, or the like incorrelation (step s311). Subsequently, an OS corresponding to a file isdetermined by referring to a correlation table based on an extension orthe like of the file (step s312), a target file is designated, then aprint command is input to the OS corresponding to the file (step s313),and the flow returns from the process.

The OS determination can be performed by referring to a correlationtable illustrated in Table 1, in which files and OSs are correlated. Thecorrelation table is stored in advance in the HDD 115, a flash memory(not illustrated), or the like under the control of the apparatuscontrol FW. When files are printed or edited, the apparatus control FWrefers to the correlation table to determine an OS and applications tobe used and issue an instruction (command) to the OS. The correlationtable may be prepared in advance, and the user may set a new correlationtable and change the settings.

TABLE 1 Extension OS Application .doc windows word .xls windows excel.tex linux emacs .bmp mac OS photoshop

In the second and third OSs, a command accepting Telnet is set inadvance so as to be automatically activated during activation of theOSs, and the OSs have a command receiving function. Upon receiving aprint command through the Telnet, the second and third OSs executeprinting of the file. Applications are also automatically activated. Theprinter driver of this apparatus is set as the printer drivers of thesecond and third OSs, and the printer driver is activated so thatprinting is executed. The printer driver is the same as that used ingeneral PCs.

When it is determined in the step of determining the print buttonoperation (step s303) that the print button 1452 is not pressed (N instep s303), it is determined whether the edit content button 1453 ispressed (step s315). When neither the print button 1452 nor the editcontent button 1453 is operated (N in step s315), the flow returns tostep s302, and the user's selection is accepted. When the edit contentbutton 1453 is operated (Y in step s315), the content edit process isperformed (step s316), and the flow returns from the process.

Next, the procedure of the saved job process will be described based onthe flowchart of FIG. 10.

First, a saved job list is displayed on the operating unit 140, and theuser's selection is accepted (step s401: Procedure 2). In this case,when there is a request to the VNC server 12 from the VNC clients 20 and21 of the PCs 3 and 4, operation screen information is sent to theoperating units 30 and 40 of the PCs 3 and 4 via the LAN 2, and thesaved job list is displayed on the operating units 30 and 40 of the PCs3 and 4. In this case, the operation screen corresponds to the firstoperation screen.

A saved job list display screen 1460 is illustrated in FIG. 11. Savedjobs are saved in the image memory 114 or the like and are read anddisplayed as a list. On the saved job list display screen 1460, a jobname and a job updated date are displayed as a list in a list field1461, and if a file is correlated with the job, a file name of adocument file and the updated date (time stamp) of the file aredisplayed as a list together with an extension. The user can press andselect a row of a desired job in the list. On the saved job list displayscreen 1460, a setting change button 1462, a reprint button 1463, adelete button 1464, and an end button 1465 are displayed to the rightside of the list field 1461 so that the buttons can be pressed. If theselected job is correlated with file information, an edit content button1466 is also displayed so that the button can be pressed.

When it is determined whether a button is operated on the saved job listdisplay screen 1460 (step s402) and the reprint button 1463 is operated(step s402: Reprint), the reprint process is executed (step s410), andthen, the flow returns to Procedure 2. When the edit content button 1466is operated (step s402: Content Edit), the content edit process isexecuted (step s411), and after that, the flow returns to Procedure 2.When the other operation is performed (step s402: The Other Operation),the other process such as delete is executed (step s412), and afterthat, the flow returns to Procedure 2. When the end button 1465 isoperated, the flow returns from the process.

When it is determined in the step of determining the button operation(step s402) that setting change is selected (step s402: Setting Change),print conditions are read from the selected saved job (step s403), and asetting screen in which the read print conditions are reflected isdisplayed on the operating unit 140 (step s404). In this case, whenthere is a request to the VNC server 12 from the VNC clients 20 and 21of the PCs 3 and 4, operation screen information is sent to the VNCclients 20 and 21, and a setting screen is similarly displayed on theoperating units 30 and 40 of the PCs 3 and 4. In this case, theoperation screen corresponds to the first operation screen.

A setting screen 1470 is illustrated in FIG. 12. Various printconditions are displayed on the setting screen 1470, and the user caninput settings of print conditions by pressing a print condition field1471.

If the selected job is correlated with file information, an edit contentbutton 1472 is displayed on the setting screen 1470 so that the buttoncan be pressed.

After the setting screen 1470 is displayed (step s404), the inputsetting of print conditions is accepted (step s405), and it isdetermined whether the edit content button 1472 is operated (step s406).When the edit content button 1472 is not operated (N in step s406), itis determined whether an OK button (not illustrated) or the like forending the process is operated (step s408). When determination to endthe process is not obtained (N in step s408), the flow returns to steps405, and the input setting of print conditions is accepted. When theedit content button 1472 is operated (Y in step s406), the content editprocess is performed (step s407), and the end determination is performed(step s408).

When it is determined in the end determination that the process is to beended (Y in step s408), the print conditions are overwritten and savedto the image memory 114 or the like (step s409), and the flow returns toProcedure 2.

Next, the procedure of the reprint process will be described based onthe flowchart of FIG. 13.

First, the print conditions of the selected saved job are read from theimage memory 114 or the like (step s501). Subsequently, a setting screenin which the read print conditions are reflected is displayed on theoperating unit 140 (step s502). In this case, when there is a request tothe VNC server 12 from the VNC clients 20 and 21 of the PCs 3 and 4,operation screen information is sent to the VNC clients 20 and 21, and asetting screen is similarly displayed on the operating units 30 and 40of the PCs 3 and 4. In this case, the operation screen corresponds tothe first operation screen.

Subsequently, the input setting of the print conditions is accepted onthe setting screen (step s503). Standby is performed until a print startoperation is received (step s504), and when the print start operation isreceived (Y in step s504), it is determined whether the file on theother OS side is changed (step s505).

Whether the file has been changed or not can be determined by comparingfile information (a time stamp, a file size, and the like) of the savedjob with file information of the file having the same file name, savedin a storage area managed by the other OS. If both pieces of informationare different, it can be determined that the file has been changed.

If the determination result shows that the file has not been changed (Nin step s505), the image data of the saved job is read from the imagememory 114 or the like (step s509), the print process is executed (steps510), and the flow returns from the process.

On the other hand, if the determination result shows that the file hasbeen changed (Y in step s505), print conditions and file information aretemporarily stored in the RAM 112 or the like (step s506), and an OScorresponding to the file is determined (step s507). This determinationcan be performed by referring to a correlation table or the likeillustrated in Table 1 in which files and OSs are correlated.Subsequently, a target file is designated, then a print command is inputto the OS corresponding to the file (step s508), and the flow returnsfrom the process. Moreover, even when the file information is notcorrelated with the selected saved job, it is determined as “Y” in steps505.

In this manner, since the presence of a change in the file is checked sothat the content of the original file is changed if the file is changed,it is possible to print the latest content. Moreover, since the savedimage data is printed if the file is not changed, it is possible toeliminate the time for the RIP process or the like and to executeprinting quickly.

In the second and third OSs, since the command accepting Telnet is setin advance so as to be automatically activated during activation of theOSs, printing of the file is executed when the print command is receivedby the Telnet. Applications are also automatically activated. Theprinter driver of this apparatus is set as the printer drivers of thesecond and third OSs, and the printer driver is activated so thatprinting is executed.

Next, the procedure of a print job receiving process of the apparatuscontrol FW will be described based on the flowchart of FIG. 14. A printjob is received as a print job by the apparatus control FW, for example,when data created by an application that operates on the second andthird OSs is printed through the printer driver.

First, a print job receiving process that involves receiving image dataand print conditions is executed (step s601). With respect to thereceived print job, a saved job is retrieved using a file name (steps602). As the result of the retrieval, it is determined whether a savedjob is present (step s603).

When the saved job is present (Y in step s603), it is determined whetherthe time stamps of the received print job and the saved job areidentical (step s604). When the time stamps are identical (Y in steps604), the image data of the saved job is read from the image memory 114or the like (step s605). Moreover, when the saved job is not present (Nin step s603) or when the time stamps are not identical even if thesaved job is present (N in step s604), the received print job issubjected to RIP process to generate image data (step s606). Further,the determination whether the print job and the saved job are identicalmay be performed using file information such as a file size and theother information.

In this manner, when the image data of the saved job can be used, sincethe saved image data can be used, it is possible to eliminate the timefor the RIP process and to execute printing quickly.

After that, the flow proceeds to a process of retrieving printconditions that are temporarily stored using a file name or the like(step s607).

After the temporarily stored print conditions are retrieved (step s607),it is determined whether temporarily stored print conditions are present(step s608). When the temporarily stored print conditions are notpresent (N in step s608), the print process is performed (step s611, andthe process ends. When the temporarily stored print conditions arepresent (Y in step s608) the temporarily stored print conditions areread and replaced by the conditions of the received print job (steps609), and the temporarily stored print conditions are deleted (steps610). After that, the print process is performed (step s611), and theprocess ends.

In general, the printer driver applies print settings set manually onthe driver and jobs are input. Alternatively, when the print settingsare not manually set, default print conditions are applied, and jobs areinput. As described above, even when the operating unit 140 sets printconditions and issues a print instruction, since only the target file isdesignated and then a print command is input to the OS, the printerdriver applies default print conditions. That is, the print conditionsset by the operating unit 140 are not reflected on jobs transmitted bythe printer driver. Thus, in steps s607 to s609, it is determinedwhether a received job is a job of which the print conditions are set bythe operating unit 140, and if so, print conditions (default printconditions) set as a default are discarded and are replaced with theprint conditions set by the operating unit 140.

Next, the procedure of the content edit process which is part of theoverall control of the apparatus control FW will be described based onthe flowchart of FIG. 15.

First, other OS corresponding to a selected file is determined using thecorrelation table or the like illustrated in Table 1 (step s701).Subsequently, it is determined whether the start of the other OS will beallowed or inhibited (step s702). Here, the start of the other OS meansthat the other OS enters into an active state and includes waking-up ofthe other OS in the sleep state. In determination of allowance orinhibition of the activation, it is necessary to restrict the start ofthe other OS in an operation state where many resources are requiredduring the RIP process, for example, and thus, it is determined that theactivation is to be inhibited. This determination to inhibit theactivation may be restricted to when the start is requested from theexternal PCs 3 and 4, and the request to start the other OS from theoperating unit 140 may be accepted regardless of the resources.

It is determined whether the determination results indicate that theother OS is to be inhibited (step s703). If the other OS is to beinhibited (Y in step s703), screen information “presently underrestriction of use” is sent to the PCs 3 and 4 through the operatingunit 140 or the VNC server 12, a message “presently under restriction ofuse” is displayed on the operation screens of the operating units 30 and40 (step s708), and the flow returns from the process. In this case, theoperation screen corresponds to the first operation screen. When theedit content button is operated through the operating unit 140, and thisis excluded from inhibition, the screen message “presently underrestriction of use” is not displayed on the operating unit 140.

When the other OS is not inhibited (N in step s703), a commandinstructing to activate an application corresponding to the selectedfile is input to an OS corresponding to the selected file (step s704).The command is accepted by a command accepting Telnet, and thecorresponding other OS having received the command is activated, and theapplication corresponding to the selected file is also automaticallyactivated. In this case, the selected file may be read and a state wherethe file can be edited may be created. The other OS displays anoperation screen according to the activation (step s705). FIG. 16 is adisplay example of the other OS screen. In this example, a Windowsscreen 1483 is displayed so as to be fitted in a region 1482 within ascreen 1480 as the other OS screen.

Moreover, when the VNC server 10 or 11 (the VNC server 10 when the otherOS is Windows) is accessed from the VNC clients 20 and 21 of the PCs 3and 4, the operation screen information of the other OS is sent to theVNC clients 20 and 21, and the other OS screen is displayed on theoperating units 30 and 40 of the PCs 3 and 4. In this case, theoperation screen corresponds to a second operation screen or a thirdoperation screen. The input operation performed on the operation screensof the operating units 30 and 40 is sent to the VNC server 10 or 11through the VNC clients 20 and 21 and is accepted by the other OS. Thus,the files of the other OS present in the image forming apparatus 1 canbe edited on the PCs 3 and 4 which are the external apparatuses. Whenthe operation screen of the other OS is provided to the PCs 3 and 4, thefirst operation screen generated by the apparatus control FW isdisplayed on the operating unit 140, and operations such as copying,scanning, or printing, of the main body of the image forming apparatus 1can be performed.

When the edit content button is operated by the operating unit 140, theVNC server 10 or 11 sends the operation screen of the other OS to theVNC client 22, and the other OS screen is displayed on the operatingunit 140. In this case, the operation screen corresponds to the secondor third operation screen. The input operation performed on theoperation screen by the operating unit 140 is sent to the VNC server 10or 11 through the VNC client 22 and is accepted by the other OS.

In the present embodiment, an application of Windows is activated on theWindows screen 1483 fitted into the region 1482 so that the applicationcan be operated. Moreover, an end button 1481 is displayed in the screen1480 outside the region 1482 so that the button can be pressed. Anoperation corresponding to the operation on the region outside theregion 1482 is executed by the control of the apparatus control FW.

Standby is performed until the end button 1481 is operated (step s706),and when the end button 1481 is operated, the screen is switched to theoriginal screen (step s707), and the flow returns from the process. Theswitching of screen is performed by the display switching unit 143 usingthe rendering data held in the VRAM 113.

Next, the procedure of the other OS screen process of the apparatuscontrol FW will be described based on the flowchart of FIG. 17.

First, an OS selection screen (not illustrated) is displayed and theuser selects an OS (step s801), and it is determined whether the startof the other OS will be allowed or inhibited (step s802). In thisdetermination, the start of the other OS is restricted in a situationwhere many resources are required during the RIP process, for example.

It is determined whether the determination results indicate that theother OS is to be inhibited (step s803). If the other OS is to beinhibited (Y in step s803), a message “presently under restriction ofuse” is displayed on the operating unit 140 or the operating units 30and 40 of the external PCs 3 and 4 (step s807), and the flow returnsfrom the process.

When the other OS is not inhibited (N in step s803), as illustrated inFIG. 16, a process of displaying the other OS screen on the operatingunit 140 or the operating units 30 and 40 of the PCs 3 and 4 isperformed (step s804).

Standby is performed until the end button 1481 is operated (step s805),and when the end button 1481 is operated, the screen is switched to theoriginal screen (step s806), and the flow returns from the process.

Next, the procedure of the other OS screen display process of theapparatus control FW will be described based on the flowchart of FIG.18.

First, the apparatus control FW activates the VNC client (step s901) andaccesses the VNC server of the target other OS (step s902). Heredifferent port numbers are set to the respective VNC servers, and theVNC client accesses the VNC server of the target other OS based on theport number.

It is determined whether the VNC server to be accessed is in use (steps903). When the VNC server is in use by the other client (Y in steps903), the VNC server sends a notification thereof and the VNC clientdisplays a message “in use by the other client” (step s906). That is,the message “in use by the other client” is displayed on the operatingunit 140 or the operating units 30 and 40 of the PCs 3 and 4. Afterthat, the flow returns from the process.

On the other hand, when the VNC server is not in use by the other client(N in step s903), the image data of the target other OS is acquired fromthe VNC server of the other OS (step s904), and the target other OSscreen is displayed on the operating unit 140 or the operating units 30and 40 (step s905).

The other OS screen is displayed on the operating unit 140 through theVNC client 22 by the VNC server 10 so that the screen can be operatedand is also displayed on the operating unit 30 or 40 of the PC 3 or 4through the VNC clients 20 and 21 so that the screen can be operated.This operation screen corresponds to the second or third operationscreen.

For example, the operation on the Windows screen 1483 is directlytransferred to the second OS by the VNC server 10. Various operationscan be performed on the Windows screen 1483, and processes such ascreating a new file, editing, saving, or printing can be performed bystarting an application that can be activated on the Windows screen1483. Operations can be performed on the operating unit 140 and theoperating units 30 and 40 of the external PCs 3 and 4 through the VNCclients 20, 21, and 22 by the VNC server 10. When the Windows screen1483 is displayed on the operating unit 30 or 40, the operating unit 140can display the first operation screen and accept the input operation.

The operations within the corresponding other OS screen are directlytransferred from the VNC clients 20 to 22 to the other OS through theVNC servers 10 and 11 of the other OSs. After that, the flow returnsfrom the process.

Next, the procedure of the sleep control of the apparatus control FWwill be described based on the flowchart of FIG. 19. The sleepmanagement operates independently from the overall control routine.

First, in the sleep control during power-ON, a timer T1 starts (steps1001). Subsequently, it is determined whether an activation eventcorresponding to sleep extension has occurred (step s1002: Procedure 4).When an activation (sleep extension) event occurs, the first OS isactivated, and the subsequent routine is executed. The activation (sleepextension) event occurs when an operation is performed on a panel, aprint job is received, or printing is completed, for example. The sleepextension means delaying the time when an OS is put to a sleep stateaccording to the activation event.

When the activation (seep extension) event does not occur (N in steps1002), it is determined if a relation T1>t1 is satisfied (step s1005).“t1” is a predetermined time set in advance for the sleep operation andis a threshold value for determining that the sleep control is performedunless an operation or printing is performed within this predeterminedtime.

If the relation T1>t1 is not satisfied (N in step s1005), the flowreturns to Procedure 4 and the process is continued. When the activation(sleep extension) event occurs (Y in step s1002) and a print engine isin the sleep mode, the print engine is woke up (step s1003), the time T1is reset (step s1004), and the flow proceeds to the step (step s1005) ofdetermining whether the relation T1>t1 is satisfied. The print engine isa device having an image forming mechanism that executes printing, asheet conveying mechanism, a function of controlling these mechanismsand the like, for example, and corresponds to an engine of a printerunit.

The sleep state of the print engine means a state where the powersupplied to the respective mechanisms is off or is in a low-power state.

On the other hand, if T1>t1 (Y in step s1005), it is determined whetherthe other OS is in the active state (step s1007).

When the other OS is not in the active state (N in step s1007), theprint engine is put into the sleep mode (step s1011), the first OS isput into the sleep mode (step s1012), and the process ends.

When the other OS is in the active state (Y in step s1007), the flowreturns to Procedure 4. In this example, although the other OS entersinto the sleep mode under the conditions set in the other OS, when theother OS is in the active state, the first OS and the print engine donot enter into the sleep mode in preparation for the print instructionfrom the other OS.

Moreover, the procedure of another example of the sleep control of theapparatus control FW will be described based on the flowchart of FIG.20.

The procedures of steps s1001 to s1007 are the same as the aboveprocedures, and description thereof will not be provided here.

When it is determined in step s1007 that the other OS is not in theactive state (N in step s1007), the print engine is put into the sleepmode (step s1011), the first OS is put into the sleep mode (step s1012)similarly to the above procedure, and the flow ends. The case where theother OS is not in the active state includes a case where the other OSis in the sleep mode.

When it is determined in step s1007 that the other OS is in the activestate (Y in step s1007), it is determined whether an application isactivated on the other OS (step s1008). When the application is not inthe active state (N in step s1008), a sleep instruction is issued to theother OS (step s1010), the print engine is put into the sleep mode (steps1011), the first OS is put into the sleep mode (step s1012), and theflow ends.

On the other hand, when an application is activated on the other OS (Yin step 1008), the flow returns to Procedure 4. When the application isin use, since it is highly likely that printing will be performed later,the print engine and the first OS are not put into the sleep mode. Inthis case, the application is generally used at a remote site throughthe operating units 30 and 40 of the PCs 3 and 4. When the applicationis used by the operating unit 140 of the image forming apparatus 1,since a sleep extension event occurs due to the operation of theoperating unit 140, this process is generally not performed.

In this manner, since the OS is put into the sleep mode only when anapplication is not used, the operation such as file editing of the useris prevented from being interrupted.

In addition, the procedure of further another example of the sleepcontrol of the apparatus control FW will be described based on theflowchart of FIG. 21.

The procedures of steps s1001 to s1008 are the same as the aboveprocedures, and description thereof will not be provided here.

In step s1008, when an application is not activated on the other OS (Nin step s1008), a sleep instruction is issued to the other OS (steps1010), the print engine is put into the sleep mode (step s1011), thefirst OS is put into the sleep mode (step s1012) similarly to the aboveprocedure, and the flow ends.

On the other hand, when an application is activated on the other OS (Yin step s1008), it is determined whether the active application is aspecific application (step s1013). The specific application isregistered in advance. In general, an application associated withprinting is registered as the specific application. Moreover, the usermay register a new application and change the registered application. Inthis case, the active application is used at a remote site through theoperating units 30 and 40 of the PCs 3 and 4 similarly to the aboveprocedure.

After determining whether the application is a specific application, itis determined whether the specific application is active (step s1014).When the specific application is active (Y in step s1014), since it ishighly likely that printing is executed, the flow returns to Procedure 4without putting the print engine into the sleep mode. In this manner,when the user wants to perform printing from the specific application,printing can be executed immediately. When the specific application isnot active (N in step s1014), since the application that is notassociated with printing is executed, the print engine is put into thesleep mode and then the flow returns to Procedure 4. In this manner, itis possible to reduce power consumption. The reason why only the printengine is put into the sleep mode is because in the present embodiment,the other OS is operating on the first OS, and if the first OS is putinto the sleep mode, it is not possible to use the other OS.

When it is determined in the above procedure that the specificapplication is not active (N in step s1014), the user may be askedwhether the print engine or the like will be put into the sleep mode,and it may be determined whether the print engine or the like will beput into the sleep mode based on the user's operation. In this manner,it is possible to prevent the sleep mode from being activated contraryto the user's intention.

Any one of the procedures of FIGS. 19 to 21 may be set, and any one ofthem may be set as a default procedure and the user may select and set adefault procedure.

Next, the procedure of other OS sleep control (during activation) whichis part of the overall control of the apparatus control FW will bedescribed based on the flowchart of FIG. 22 (the processing details ofstep s102 of FIG. 5).

First, the first OS is activated to issue an activation instruction toall other OSs (the second to N-th OSs) (step s1101). The activationinstruction to the other OSs is issued to the emulator. Subsequently, aprocess of setting OS priority is performed step s1102). The priority isdetermined by predetermined manual setting or automatic setting based onthe type or the like of saved files.

In the manual setting, the priority of OSs is determined based on thepriority of each OS set in advance according to the user's instructionor the like or the priority set for applications or files to be used.When the priority is automatically set based on the type of saved files,an OS correlated with saved jobs is preferentially activated, and theother OSs are put into the sleep mode. Moreover, a correlated OS havinga large number of saved job files may have high priority. In addition,the priority may be determined based on the frequency of use or theaccess time or according to a combination of both.

Subsequently, standby is performed until the activation of therespective OSs is completed (step s1103), OSs other than a predeterminednumber of OSs having higher priority are put into the sleep mode (steps1104). In this case, the predetermined number is manually set inadvance or is automatically set according to the capacity of a mountedmemory or the like. After that, the flow returns from the process.

In this manner, by limiting the number of OSs that are in the activestate, it is possible to secure resources required for image formationand to prevent degradation of apparatus performance. Moreover, when anOS is put into the sleep state, the content of the memory is saved in ahard disk or the like, and this process takes some time. If the sleepprocess is performed when a job is input and resources are required, thetime required for saving the memory content may degrade the performanceof job execution. In the present embodiment, since the sleep process isperformed immediately during power-ON It is possible to prevent thisproblem as much as possible. Since the time required for waking up an OSin the sleep state is considerably shorter than the time required foractivating an OS, the decrease in the user's convenience is also small.

Next, the procedure of an OS priority setting process in the overallcontrol of the apparatus control FW will be described based on theflowchart of FIG. 23.

First, it is determined whether the OS priority setting is automaticsetting (step s1201). Whether the priority will be automatically set ormanually set is set in advance by the user. The priority when it is setmanually is also set in advance.

When the OS priority setting is not automatic setting (N in step s1201),the priority of the manual setting is read from the HDD 115 or the likeand set (step s1205), and the flow returns from the process.

When the OS priority setting is automatic setting (Y in step s1201),file information is acquired from the other OS area of the HDD 115 (steps1202), and OSs corresponding to the file are counted by referring tothe correlation table or the like illustrated in Table 1 (step s1203).The OSs are ranked in the order of the count (step s1204), and the flowreturns from the process.

In this example, although the priority is set according to the number ofcorrelated files as the manual setting, the automatic setting method isnot limited to this.

In this manner, since an OS having low priority is preferentially putinto the sleep mode, it is possible to prevent degradation ofuser-friendliness.

Next, the procedure of the RIP process of the apparatus control FW andthe procedure of the other OS sleep control process during the RIPprocess will be described based on the flowchart of Fi 24. The controlduring the RIP process operates independently from the overall controlroutine.

First, received job information is notified to the sleep control routine(step s1301), and the RIP process starts (step s1302). When the RIPprocess ends, the end of RIP is notified to the sleep control routine(step s1303), the rasterized image data and print conditions are inputto the overall control routine (step s1304), and the RIP processprocedure ends.

On the other hand, in the other OS sleep control routine during the RIPprocess, standby is performed until job information is received (steps1401), and when the job information is received by the notification ofstep s1301 (Y in step s1401), resources required for the RIP process aredetermined (step s1402). The required resources can be determined bydetermining the level of required resources (CPU, memory, or the like)based on a job volume (data quantity or the like). As the result ofdetermination, the number of OSs that can be used during the RIP processis determined (step s1403). The number of available OSs can bedetermined by automatically setting the number (0 to n) (n is a positiveinteger) according to the determined level. The level and the number arestored in the HDD 115 and like in correlation so that they can be read.

For example, in the case of automatically setting the number accordingto the hardware resources, when it is determined that hardware resourcesrequired for a predetermined print process are not satisfied, the numberof OSs that can be activated is determined according to the use rate ofresources, and the other OSs (for example, non-used OSs) having lowpriority are put into the sleep mode. For example, the number of OSsthat can be activated is restricted up to three if the use rate of theCPU, the memory, and the HDD exceeds 50%, for example, when informationis acquired through the first OS. Further, the number of available OSscan be determined in such a way that activation restriction is performedif the HDD performance does not satisfy a transmission speed of 100MB/sec when information is acquired through the apparatus control FW andthat activation restriction is performed if the transmission speed asthe network performance is lower than 50% of the maximum transmissionspeed.

In addition, automatic setting may be performed according to a printjob. A controller that performs the RIP process acquires an image size,a data format, the number of pages, a layout, and the like from theheader information of the received print job and calculates resourceinformation required for the RIP process in advance. OS activation isrestricted based on the calculation result.

For example, the controller may calculate that a memory of 200 MB, a CPUhaving occupancy of 30% with 2 cores, and an HDD of 200 MB are requiredfrom the information of an image size (A4), a format (PS), pages (10),and a layout (2 in 1).

After the number of OSs available during the RIP process is determined(step s1403), OS use restriction is set ON (step s1404), and it isdetermined whether “the number of active OSs”>“the number of availableOSs” (step s1405). If “the number of active OSs”>“the number ofavailable OSs” (Y in step s1405), the other OSs in which the VNC serveris not accessed are put into the sleep mode (step s1406), and it isdetermined again whether “the number of active OSs”>“the number ofavailable OSs” (step s1407). If “the number of active OSs”>“the numberof available OSs” (Y in step s1407), the other OSs that are accessedfrom outside are put into the sleep mode (step s1408), and the VNCservers of the other sleeping OSs are stopped (step s1409).

When it is determined in step s1405 and s1407 that “the number of activeOSs” “the number of available OSs” is not true, the VNC servers of theother sleeping OSs are stopped without putting additional other OS intothe sleep mode (step s1409). By stopping the VNC servers, the other OSthat is accessed from outside is inhibited from waking up from the sleepmode. However, the access from the operating unit 140 to the VNC serveris allowed up to the number of available OSs. Moreover, activation ofother OS according to a print command without via the VNC server isstill allowed.

After the VNC servers of the other sleeping OSs are stopped, standby isperformed until notification of the end of the RIP process is received(step s1410). When the notification (s1303) of the end of the RIPprocess by the RIP process procedure is received (Y in step s1410), theOS use restriction is set off, all VNC servers are activated, and theflow proceeds to the step (step s1401) of performing standby until thejob information is received.

In this manner, in the present embodiment, since highest priority isassigned to job execution so that required resources are secured for thejob execution, it is possible to prevent degradation of the performanceof printing which is the primary function of the image formingapparatus. Further, in the use restriction (sleep control) of the otherOSs, first, non-used OSs are put into the sleep mode, and subsequently,OSs that are used from the external PCs are put into the sleep modeearlier than OSs that are used from the operating unit of the imageforming apparatus. Thus, it is possible to maintain the convenience ofthe user that directly uses the image forming apparatus.

In the sleep process of the other OSs, the memory state of the activestate is saved in the HDD, and the memory is released. On the first OSside, the HDD is topped if the HDD is not used. Waking up of the secondto th OSs involves securing memory areas for the second to N-th OSs,deploying the previous memory information in the HDD, and loading OSs.

Next, the procedure of an other OS start allowance/inhibitiondetermining process in the overall control of the apparatus control FWwill be described based on the flowchart of FIG. 25.

First, it is determined whether OS use restriction is set ON (steps1501). When the OS use restriction is not set ON (N in step s1501), thestart of the other OSs is allowed (step s1507), and the flow returnsfrom the process. Here, the start of the other OSs means the other OSsenter into the active state and includes waking up of the other sleepingOSs.

On the other hand, when the OS use restriction is set ON (Y in steps1501), the number of active OSs is detected (step s1502), and it isdetermined whether “the number of active OSs”<“the number of availableOSs” (step s1503). If “the number of active OSs”<“the number ofavailable OSs” (Y in step s1503), the start of the other OSs is allowed(step s1507), and the flow returns from the process. If “the number ofactive OSs”<“the number of available OSs” is not true (N in step s1503),it is determined whether there is the other active OS that is not used(step s1504). If there is not the other active OS that is not used (N instep s1504), the start of the other OS is inhibited (step s1506), andthe flow returns from the process. If there is the other active OS thatis not used (Y in step s1504), one other OS having low priority amongthe other active OSs is put into the sleep mode (step s1505), and againthe determination as to whether “the number of active OSs”<“the numberof available OSs” (step s1503) and the subsequent steps are repeated.

With the configuration as described above, it is possible to realize amulti-OS operation with limited resources and to perform the printprocess in a more stable manner. In addition, since the use of OSs isrestricted by taking priority into consideration, it is possible tosuppress degradation of user's convenience as much as possible.Moreover, it is possible to shorten the activation (wake-up) time of therespective OSs.

As described above, according to the present embodiment, it is possibleto allow the user to perform operations such as editing of data on theimage forming apparatus with the aid of applications operating on thesecond to N-th operating systems to improve the user-friendliness.

While the invention has been described based on the embodiment, theinvention is not limited to the content of the above description but canbe appropriately changed unless the changes depart from the scope of theinvention.

As described above, according to the present embodiment, it is possibleto operate second to N-th (N is an integer of 2 or more) operatingsystems different from a first operating system to improve theuser-friendliness, allow transitioning to the sleep mode for savingpower, and reduce the warm-up time under a multi-OS environment toimprove processing efficiency.

In addition, according to the present embodiment, it is possible toallow the user to perform operations such as editing of data on theimage forming apparatus with the aid of applications operating on thesecond to N-th operating systems to improve the user-friendliness,realize the operation of a plurality of operating systems with limitedhardware resources and to perform a print process in a more stablemanner.

While the invention has been described based on the embodiment, theinvention is not limited to the content of the above description but canbe appropriately changed unless the changes depart from the scope of theinvention.

Supplementary notes described below are also examples of the aboveembodiments.

(Supplementary Note 1)

An image forming apparatus including:

a printer unit that forms an image based on image data and outputs theimage on a sheet;

a storage unit; and

a control unit that controls hardware resources of the image formingapparatus including at least the printer unit and the storage unit byexecuting a first operating system that is activated on the imageforming apparatus and a control program operating on the first operatingsystem and that can execute second to N-th (N is an integer of 2 ormore) operating systems that activate at least one application and anemulator that is disposed between the first operating system and thesecond to N-th operating systems to allow the second to N-th operatingsystems to operate on the first operating system, wherein

the control unit causes at least one of the second to N-th operatingsystems that are operated by the emulator to enter into a sleep modeaccording to a priority by the control program operating on the firstoperating system.

(Supplementary Note 2)

The image forming apparatus according to supplementary note 1, whereinthe control unit causes the second to N-th operating systems to beactivated by the emulator when the first operating system is activatedto operate the control program and then causes at least one of thesecond to N-th operating systems to enter into the sleep mode accordingto the priority, by the control program.

(Supplementary Note 3)

The image forming apparatus according to supplementary note 1, whereinthe control unit causes at least one of the active second to N-thoperating systems to enter into the sleep mode according to the priorityand according to an operation state of the image forming apparatus.

(Supplementary Note 4)

The image forming apparatus according to supplementary note 3, whereinthe control unit determines a level of hardware resources necessary fora RIP process in order to determine the operation state.

(Supplementary Note 5)

The image forming apparatus according to supplementary note 1, whereinthe priority is set in advance.

(Supplementary Note 6)

The image forming apparatus according to supplementary note 1, whereinthe priority is automatically set by the control unit.

(Supplementary Note 7)

The image forming apparatus according to supplementary note 6, whereinthe control unit stores files created by the applications and the secondto N-th operating systems that activate the applications that create thefiles in the storage unit in correlation and sets the priority accordingto the second to N-th operating systems correlated with the files storedin the storage unit.

(Supplementary Note 8)

The image forming apparatus according to supplementary note 7, whereinthe control unit counts the number of second to N-th operating systemscorrelated with each of the files stored in the storage unit and setsthe priority so that the operating system having a larger count has ahigher priority.

(Supplementary Note 9)

The image forming apparatus according to supplementary note 1, whereinwhen the number of active operating systems among the second to N-thoperating systems exceeds a predetermined number, the control unitcauses a number of the operating systems exceeding the predeterminednumber to enter into the sleep mode according to the priority.

(Supplementary Note 10)

The image forming apparatus according to supplementary note 9, whereinthe control unit causes another operating system having a lower priorityto enter into the sleep mode while maintaining the predetermined numberof operating systems having a high priority among the active second toN-th operating systems in the active state.

(Supplementary Note 11)

The image forming apparatus according to supplementary note 9, whereinthe control unit allows the predetermined number to be manually set.

(Supplementary Note 12)

The image forming apparatus according to supplementary note 9, whereinthe control unit automatically sets the predetermined number.

(Supplementary Note 13)

The image forming apparatus according to supplementary note 12, whereinthe control unit determines the predetermined number according to a userate of the hardware resources.

(Supplementary Note 14)

The image forming apparatus according to supplementary note 12, whereinthe control unit determines the predetermined number according to thecontent of a print job.

(Supplementary Note 15)

The image forming apparatus according to supplementary note 9, whereinwhen the number of active operating systems exceeds the predeterminednumber, the control unit causes the operating system that is active butis not in use to preferentially enter in to the sleep mode.

(Supplementary Note 16)

The image forming apparatus according to supplementary note 9, whereinwhen the number of active operating systems exceeds the predeterminednumber and there is no operating system that is not in use, the controlunit inhibits the start of the sleeping operating system.

(Supplementary Note 17)

The image forming apparatus according to supplementary note 9, whereinthe control unit can operate an operation screen server that providesinformation on at least one of second to N-th operation screens of thesecond to N-th operating systems to at least one of external apparatusesconnected to the image forming apparatus via a network and that acceptsan input operation on the second to N-th operation screens provided tothe external apparatus, and when the number of active operating systemsexceeds the predetermined number, the control unit causes the operatingsystem which is not accessed from the external apparatus through theoperation screen server among the active operating systems to enter intothe sleep mode.

(Supplementary Note 18)

The image forming apparatus according to supplementary note 17, whereinwhen the number of active operating systems exceeds the predeterminednumber and the active operating systems do not include an operatingsystem which is not accessed from the external apparatus through theoperation screen server, the control unit causes the operating systemthat is accessed from the external apparatus to preferentially enterinto the seep mode and stops the operation of the operation screenserver on the operating system.

(Supplementary Note 19)

The image forming apparatus according to supplementary note 9, whereinwhen there is no use limitation on the second to N-th operating systemsor the number of active operating systems has not reached thepredetermined number, the control unit allows the start of the sleepingoperating system.

(Supplementary Note 20)

The image forming apparatus according to supplementary note 9, whereinthe predetermined number is the number of available operating systems.

(Supplementary Note 21)

A method of controlling an image forming apparatus including:

a printer unit that forms an image based on image data and outputs theimage on a sheet; and a storage unit,

the method controlling hardware resources of the image forming apparatusincluding at least the printer unit and the storage unit by executing afirst operating system that is activated on the image forming apparatusand a control program operating on the first operating system, themethod including the steps of:

executing second to N-th (N is an integer of 2 or more) operatingsystems that activate at least one application and an emulator that isdisposed between the first operating system and the second to N-thoperating systems to allow the second to N-th operating systems tooperate on the first operating system; and

causing at least one of the second to N-th operating systems that areoperated by the emulator according to the control program operating onthe first operating system to enter into a sleep mode according to apriority.

CROSS-REFERENCE TO RELATED APPLICATION

This application is based on Japanese Patent Application No.2012-178986, No. 2012-178983 filed with Japan Patent Office on Aug. 10,2012, the entire content of which is hereby incorporated by references.

What is claimed is:
 1. An image forming apparatus comprising: a printerunit to form an image based on image data and output the image on asheet; a storage unit; and a control unit that controls hardwareresources of the image forming apparatus including at least the printerunit and the storage unit by executing a first operating system that isactivated on the image forming apparatus and a control program operatingon the first operating system and that can execute second to N-th (N isan integer of 2 or more) operating systems that activate at least one ormore applications and an emulator that is disposed between the firstoperating system and the second to N-th operating systems to allow thesecond to N-th operating systems to operate on the first operatingsystem, wherein the control unit can cause the first operating system toenter into a sleep mode and inhibits the first operating system fromentering into the sleep mode when at least one of the second to N-thoperating systems is active.
 2. The image forming apparatus according toclaim 1, wherein the second to N-th operating systems can activate atleast one or more applications that handles data.
 3. The image formingapparatus according to claim 2, wherein the control unit inhibits thefirst operating system from entering into the sleep mode when any one ofthe second to N-th operating systems is active and at least one or moreof the applications is active.
 4. The image forming apparatus accordingto claim 2, wherein the control unit inhibits the first operating systemfrom entering into the sleep mode when any one of the second to N-thoperating systems is active and at least one or more of the applicationsthat are registered is active.
 5. The image forming apparatus accordingto claim 4, wherein the control unit causes an engine of the printerunit to enter into a sleep mode while maintaining the first operatingsystem in the active state when any one of the second to N-th operatingsystems is active and only an application other than the registeredapplications among the applications is active.
 6. The image formingapparatus according to claim 2, wherein the control unit enables thefirst operating system to enter into the sleep mode when any one of thesecond to N-th operating systems is active and the applications are notactive.
 7. The image forming apparatus according to claim 4, furthercomprising: an operating unit that accepts an input operation, whereinthe control unit enables the applications to be set and registeredthrough the operating unit.
 8. The image forming apparatus according toclaim 1, wherein the control unit causes an engine of the printer unitto enter into a sleep mode when the first operating system enters intothe sleep mode.
 9. The image forming apparatus according to claim 1,wherein the control unit can cause the second to N-th operating systemsto enter into a sleep mode.
 10. The image forming apparatus according toclaim 1, wherein the control unit has a power saving mode in which anengine of the printer unit enters into a sleep mode without causing thefirst operating system to enter into the sleep mode.
 11. The imageforming apparatus according to claim 1, wherein the control programallows or inhibits entering into the sleep mode.
 12. The image formingapparatus according to claim 1, wherein the control unit causes thefirst operating system to enter into the sleep mode when predeterminedconditions are satisfied and any one of the second to N-th operatingsystems is not operating.
 13. The image forming apparatus according toclaim 12, wherein the predetermined conditions are a case where nooperation has been performed on the image forming apparatus for apredetermined period in an idle state of no job.
 14. The image formingapparatus according to claim 1, wherein at least one of the second toN-th operating systems can directly access at least a portion of thehardware resources and can access, via the first operating system, thehardware resources including hardware resources that the second to N-thoperating systems can not directly access.
 15. The image formingapparatus according to claim 1, wherein the control unit realizes theoutputting of the printer unit by executing a printer driver thatoperates on at least one of the second to N-th operating systems tocontrol the printer unit.
 16. The image forming apparatus according toclaim 15, wherein when data handled by the second to N-th operatingsystems is output in the image forming apparatus controlled by the firstoperating system, the data is input, as a job, to the image formingapparatus that is controlled by the first operating system through theprinter driver.
 17. The image forming apparatus according to claim 15,wherein the printer driver is intended to be provided for used in apersonal computer.
 18. A method of controlling an image formingapparatus comprising: a printer unit that forms an image based on imagedata and outputs the image on a sheet; and a storage unit, the methodcontrolling hardware resources of the image forming apparatus includingat least the printer unit and the storage unit by executing a firstoperating system that is activated on the image forming apparatus and acontrol program operating on the first operating system, the methodcomprising the steps of: executing second to N-th (N is an integer of 2or more) operating system that activate at least one or moreapplications and an emulator that is disposed between the firstoperating system and the second to N-th operating systems to allow thesecond to N-th operating systems to operate on the first operatingsystem; and causing the first operating system to enter into a sleepmode, wherein the first operating system is inhibited from entering intothe sleep mode when at least one of the second to N-th operating systemsis active.
 19. The method of controlling the image forming apparatusaccording to claim 18, wherein the second to N-th operating systems canactivate at least one or more applications that handle data.
 20. Themethod of controlling the image forming apparatus according to claim 19,wherein the first operating system is inhibited from entering into thesleep mode when any one of the second to N-th operating systems isactive and at least one or more of the applications is active.
 21. Themethod of controlling the image forming apparatus according to claim 19,wherein the first operating system is inhibited from entering into thesleep mode when any one of the second to N-th operating systems isactive and at least one or more of the applications that are registeredis active.
 22. The method of controlling the image forming apparatusaccording to claim 21, wherein an engine of the printer unit is causedto enter into a sleep mode while maintaining the first operating systemin the active state when any one of the second to N-th operating systemsis active and only an application other than the registered applicationsamong the applications is active.
 23. The method of controlling theimage forming apparatus according to claim 19, wherein the firstoperating system is caused to enter into the sleep mode when any one ofthe second to N-th operating systems is active and the applications arenot active.
 24. The method of controlling the image forming apparatusaccording to claim 21, wherein the image forming apparatus includes anoperating unit that accepts an input operation, and the applications areset and registered through the operating unit.
 25. The method ofcontrolling the image forming apparatus according to claim 18, whereinan engine of the printer unit is caused to enter into a sleep mode whenthe first operating system enters into the sleep mode.
 26. The method ofcontrolling the image forming apparatus according to claim 18, whereinthe second to N-th operating systems can enter into a sleep mode. 27.The method of controlling the image forming apparatus according to claim18, wherein the image forming apparatus can enter a power saving mode inwhich an engine of the printer unit enters into a sleep mode withoutcausing the first operating system to enter into the sleep mode.
 28. Themethod of controlling the image forming apparatus according to claim 18,wherein the control program allows or inhibits entering into the sleepmode.
 29. The method of controlling the image forming apparatusaccording to claim 18, wherein the first operating system is caused toenter into the sleep mode when predetermined conditions are satisfiedand any one of the second to N-th operating systems is not operating.30. The method of controlling the image forming apparatus according toclaim 29, wherein the predetermined conditions are a case where nooperation has been performed on the image forming apparatus for apredetermined period in an idle state of no job.
 31. The method ofcontrolling the image forming apparatus according to claim 18, whereinat least one of the second to N-th operating systems can directly accessat least a portion of the hardware resources and can access, via thefirst operating system, the hardware resources including hardwareresources that the second to N-th operating systems can not directlyaccess.
 32. The method of controlling the image forming apparatusaccording to claim 18, wherein the outputting of the printer unit isrealized by executing a printer driver that operates on at least one ofthe second to N-th operating systems to control the printer unit. 33.The method of controlling the image forming apparatus according to claim32, wherein when data handled by the second to N-th operating systems isoutput in the image forming apparatus controlled by the first operatingsystem, the data is input, as a job, to the image forming apparatus thatis controlled by the first operating system through the printer driver.34. The method of controlling the image forming apparatus according toclaim 32, wherein the printer driver is intended to be provided for usedin a personal computer.